import Vue from "vue";
import VueRouter from "vue-router";
import Container from "./views/Container.vue";
import Login from "./views/Login.vue";
import Register from "./views/Register.vue";
import MemberEventSelect from "./views/Member/MemberEventSelect";
import MemberEvent from "./views/Member/MemberEvent";
import MemberInfo from "./views/Member/MemberInfo";
import MemberTimeTable from "./views/Member/MemberTimeTable";
import MemberBudget from "./views/Member/MemberBudget";
import LeaderEvent from "./views/Leader/LeaderEvent";
import LeaderTimetable from "./views/Leader/LeaderTimetable";
import LeaderBudget from "./views/Leader/LeaderBudget";
import AdminArea from "./views/admin/AdminArea";
import AdminActivity from "./views/admin/AdminActivity";
import AdminTeam from "./views/admin/AdminTeam";
import AdminMember from "./views/admin/AdminMember";
import AdminLeader from "./views/admin/AdminLeader";
import AdminEvent from "./views/admin/AdminEvent";
import AdminMemberEvent from "./views/admin/AdminMemberEvent";
import AdminAdmin from "./views/admin/AdminAdmin";
import LeaderEmail from "./views/Leader/LeaderEmail";
import LeaderTeam from "./views/Leader/LeaderTeam";
import Home from "./views/Home";
import MemberActivity from "./views/Member/MemberActivity";
import MemberTeam from "./views/Member/MemberTeam";
import ActivityReport from "./views/Leader/ActivityReport";
import LeaderActivity from "./views/Leader/LeaderActivity";

Vue.use(VueRouter);
const routes = [
  {
    path: "/",
    name: "container",
    component: Container,
    children: [
      {
        path: "/member",
        name: "member-home",
        component: Home
      },
      {
        path: "/member/event/select",
        name: "member-event-select",
        component: MemberEventSelect
      },
      {
        path: "/member/team",
        name: "member-team",
        component: MemberTeam
      },
      {
        path: "/member/activity",
        name: "member-activity",
        component: MemberActivity
      },
      {
        path: "/member/event",
        name: "member-event",
        component: MemberEvent
      },
      {
        path: "/member/timetable",
        name: "member-timetable",
        component: MemberTimeTable
      },
      {
        path: "/member/budget",
        name: "member-budget",
        component: MemberBudget
      },
      {
        path: "/member/info",
        name: "member-info",
        component: MemberInfo
      },
      {
        path: "/leader",
        name: "leader-home",
        component: Home
      },
      {
        path: "/leader/team",
        name: "leader-team",
        component: LeaderTeam
      },
      {
        path: "/leader/activity",
        name: "leader-activity",
        component: LeaderActivity
      },
      {
        path: "/leader/event",
        name: "leader-event",
        component: LeaderEvent
      },
      {
        path: "/leader/timetable",
        name: "leader-timetable",
        component: LeaderTimetable
      },
      {
        path: "/leader/budget",
        name: "leader-budget",
        component: LeaderBudget
      },
      {
        path: "/leader/report",
        name: "leader-report",
        component: ActivityReport
      },
      {
        path: "/leader/email",
        name: "leader-email",
        component: LeaderEmail
      },
      {
        path: "/admin",
        name: "admin-home",
        component: Home
      },
      {
        path: "/admin/area",
        name: "admin-area",
        component: AdminArea
      },
      {
        path: "/admin/activity",
        name: "admin-activity",
        component: AdminActivity
      },
      {
        path: "/admin/team",
        name: "admin-team",
        component: AdminTeam
      },
      {
        path: "/admin/member",
        name: "admin-member",
        component: AdminMember
      },
      {
        path: "/admin/leader",
        name: "admin-leader",
        component: AdminLeader
      },
      {
        path: "/admin/event",
        name: "admin-event",
        component: AdminEvent
      },
      {
        path: "/admin/member/event",
        name: "admin-member-event",
        component: AdminMemberEvent
      },
      {
        path: "/admin/admin",
        name: "admin-admin",
        component: AdminAdmin
      }
    ]
  },
  {
    path: "/login",
    name: "login",
    component: Login
  },
  {
    path: "/register",
    name: "register",
    component: Register
  }
];

const router = new VueRouter({
  mode: "history",
  base: process.env.BASE_URL,
  routes
});

export default router;
